package ctrFinanceiro.dao;

import java.util.List;

import ctrFinanceiro.dmp.Usuario;
import ctrFinanceiro.iface.IDAO;


public class UsuarioDAO implements IDAO<Usuario, Integer>{

	public UsuarioDAO() {
	}

	@Override
	public void incluir(Usuario usuario) {
		Persistencia.persist(usuario);
	}

	@Override
	public void atualizar(Usuario usuario) {
		Persistencia.update(usuario);
	}

	@Override
	public void remover(Usuario usuario) {
		Persistencia.delete(usuario);
	}

	@Override
	public Usuario buscarPorId(Integer id) {
		return (Usuario) Persistencia.findById(Usuario.class, id);
	}

	public Usuario getUsuarioPorName(String nomeUsuario) {
		return (Usuario) Persistencia.find("Usuario.findByNome",
				new Object[] { nomeUsuario });
	}

	@SuppressWarnings("unchecked")
	public String[] getInfoUsuarios() {
		List<Usuario> usuarios = (List<Usuario>) Persistencia.getLista(
				"Usuario.findAll", null);
		if (usuarios.isEmpty()) {
			return new String[] { "" };
		}
		String[] lista = new String[usuarios.size()];
		int cont = 0;
		for (Usuario Usuario : usuarios) {
			StringBuilder sb = new StringBuilder();
			sb.append(String.valueOf(Usuario.getIdUsu()));
			sb.append(" - ");
			sb.append(Usuario.getNome());
			sb.append(" - ");
			sb.append(Usuario.getLogin());
			sb.append(" - ");
			sb.append(Usuario.getSenha());
			lista[cont] = sb.toString();
			cont++;
		}
		return lista;
	}
}
